#ifndef FASYS_FASYS_API_OPEN_SUBSCRIPTION_HPP
#define FASYS_FASYS_API_OPEN_SUBSCRIPTION_HPP

#include "../types.hpp"
#include "../subscription_channel.hpp"

namespace fasys{ namespace api{

/*
struct subscription_channel
{
  std::string channel;
  size_t min_size;
  size_t max_size;
  // сколько сообщений загрузить из канала при открытии 
  size_t initial;
  subscription_channel()
    : min_size(1)
    , max_size(10)
    , initial(10)
  {}
};
  */

struct open_subscription
{
  typedef std::vector<subscription_channel> channel_list;

  // Время жизни подписки
  time_t lifetime;
  // Время ожидания, после чего происходит уведомление что ничего не произошло
  time_t timeout;

  channel_list channels;
  
  std::string key;

  open_subscription()
    : lifetime(120)
    , timeout(60)
  {}
};


}}

#endif
